Engineers use compression (also called source coding or source encoding) to reduce the bit rate of digital video. Compression decreases the cost of storing and transmitting video information by converting the information into a lower bit rate form. Decompression (also called decoding) reconstructs a version of the original information from the compressed form. A “codec” is an encoder/decoder system.
Over the last two decades, various video codec standards have been adopted, including the ITU-T H.261, H.262 (MPEG-2 or ISO/IEC 13818-2), H.263 and H.264 (MPEG-4 AVC or ISO/IEC 14496-10) standards and the MPEG-1 (ISO/IEC 11172-2), MPEG-4 Visual (ISO/IEC 14496-2) and SMPTE 421M (VC-1) standards. More recently, the HEVC standard (ITU-T H.265 or ISO/IEC 23008-2) has been developed. A video codec standard typically defines options for the syntax of an encoded video bitstream, detailing parameters in the bitstream when particular features are used in encoding and decoding. In many cases, a video codec standard also provides details about the decoding operations a decoder should perform to achieve conforming results in decoding. Aside from codec standards, various proprietary codec formats define other options for the syntax of an encoded video bitstream and corresponding decoding operations.
One type of parameter in an encoded video bitstream is coded picture buffer removal delay (“CPBRD”). In general, a CPBRD value for a given picture specifies the nominal time at which encoded data associated with the picture is to be removed from a buffer at the decoder. When encoded data for pictures is removed at correct times, according to normal modes of operation, the decoder buffer does not overflow (which might cause loss of encoded data) or underflow (which might result in “glitching” or other disruption of continuous playback). In low-delay mode, underflow is tolerated in some circumstances, but under the non-low-delay mode (such as is typically used for broadcasting), buffer underflow is not allowed. A buffer model, conventionally called a hypothetical reference decoder (“HRD”) or video buffering verifier (“VBV”), uses CPBRD values and other parameters such as rate values, buffer size values and buffer fullness values or initial buffering delay values (before playback begins) to verify that bitstreams can be decoded within the buffering resources of a decoding system, and to help a decoder to determine the timing and steps for operation of its decoding process.
In many contexts, bitstreams for different video sequences are spliced together. For example, such splicing may be used to insert a commercial or series of commercials into a television program, or to switch between different television programs. Existing approaches to signaling CPBRD values can result in burdensome and potentially difficult operations during splicing in order to adjust CPBRD values to account for the splicing. Another problem is that, although two source streams may be independently HRD-compliant, after splicing, the resulting spliced stream is not guaranteed to be HRD-compliant.